#pragma once

#include "gameobject.h"
#include "HeatPhysics.h"
#include "MovingPlatform.h"
#include "../SGD Wrappers/SGD_Math.h"

class Fan :	public MovingPlatform, public HeatPhysics
{
private:

	float range;
	float pushSpeed;
	tVector2D direction;

public:
	// Constructor
	Fan(float range = 500.0f);

	// Desctructor
	~Fan(void);

	//////////////////////////////////////////////////
	// GameObject methods:
	void Update(float deltaTime)									override;
	void Render(void) const											override;
	void HandleCollision(GameObject& other, CollisionInfo& info)	override;
	void ResetToCheckPoint(void)									override;

	//////////////////////////////////////////////////
	// Accessors:
	float GetRange(void) const { return range; }
	float GetPushSpeed(void) const { return pushSpeed; }

	//////////////////////////////////////////////////
	// Mutators:
	void SetRange(float range);
	void SetPushSpeed(float speed);
	void SetDirection(float x, float y);
	void SetDirection(tVector2D direction);
};

